{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from __future__ import print_function, division\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "from torch.optim import lr_scheduler\n",
    "from torch.autograd import Variable\n",
    "import numpy as np\n",
    "import torchvision\n",
    "from torchvision import datasets, models, transforms\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "import os\n",
    "import copy\n",
    "\n",
    "def train_model(model, criterion, optimizer, scheduler, num_epochs=2):\n",
    "    since = time.time()\n",
    "\n",
    "    best_model_wts = copy.deepcopy(model.state_dict())\n",
    "    best_acc = 0.0\n",
    "\n",
    "    for epoch in range(num_epochs):\n",
    "        print('Epoch {}/{}'.format(epoch, num_epochs - 1))\n",
    "        print('-' * 10)\n",
    "\n",
    "        # Each epoch has a training and validation phase\n",
    "        for phase in ['train', 'val']:\n",
    "            if phase == 'train':\n",
    "                scheduler.step()\n",
    "                model.train(True)  # Set model to training mode\n",
    "            else:\n",
    "                model.train(False)  # Set model to evaluate mode\n",
    "\n",
    "            running_loss = 0.0\n",
    "            running_corrects = 0\n",
    "\n",
    "            # Iterate over data.\n",
    "            for data in dataloaders[phase]:\n",
    "                # get the inputs\n",
    "                inputs, labels = data\n",
    "\n",
    "                # wrap them in Variable\n",
    "                if use_gpu:\n",
    "                    inputs = Variable(inputs.cuda())\n",
    "                    labels = Variable(labels.cuda())\n",
    "                else:\n",
    "                    inputs, labels = Variable(inputs), Variable(labels)\n",
    "\n",
    "                # zero the parameter gradients\n",
    "                optimizer.zero_grad()\n",
    "\n",
    "                # forward\n",
    "                outputs = model(inputs)\n",
    "                _, preds = torch.max(outputs.data, 1)\n",
    "                loss = criterion(outputs, labels)\n",
    "\n",
    "                # backward + optimize only if in training phase\n",
    "                if phase == 'train':\n",
    "                    loss.backward()\n",
    "                    optimizer.step()\n",
    "\n",
    "                # statistics\n",
    "                running_loss += loss.data[0] * inputs.size(0)\n",
    "                running_corrects += torch.sum(preds == labels.data)\n",
    "\n",
    "            epoch_loss = running_loss / dataset_sizes[phase]\n",
    "            epoch_acc = running_corrects / dataset_sizes[phase]\n",
    "\n",
    "            print('{} Loss: {:.4f} Acc: {:.4f}'.format(\n",
    "                phase, epoch_loss, epoch_acc))\n",
    "\n",
    "            # deep copy the model\n",
    "            if phase == 'val' and epoch_acc > best_acc:\n",
    "                best_acc = epoch_acc\n",
    "                best_model_wts = copy.deepcopy(model.state_dict())\n",
    "\n",
    "        print()\n",
    "\n",
    "    time_elapsed = time.time() - since\n",
    "    print('Training complete in {:.0f}m {:.0f}s'.format(\n",
    "        time_elapsed // 60, time_elapsed % 60))\n",
    "    print('Best val Acc: {:4f}'.format(best_acc))\n",
    "\n",
    "    # load best model weights\n",
    "    model.load_state_dict(best_model_wts)\n",
    "    return model\n",
    "    \n",
    "def evaluate(model,dataloaders):\n",
    "    correct = 0\n",
    "    total = 0\n",
    "    predict_list = []\n",
    "    labels_list = []\n",
    "    for data in dataloaders['test']:\n",
    "\n",
    "        inputs, labels = data\n",
    "        # wrap them in Variable\n",
    "        if use_gpu:\n",
    "            inputs = Variable(inputs.cuda())\n",
    "            labels = Variable(labels.cuda())\n",
    "        else:\n",
    "            inputs, labels = Variable(inputs), Variable(labels)\n",
    "\n",
    "        outputs = model(inputs)\n",
    "        _, predicted = torch.max(outputs.data, 1)\n",
    "        total += labels.size(0)\n",
    "        correct += torch.sum(predicted == labels.data)\n",
    "\n",
    "        predict_list.extend(list(predicted.cpu().numpy()))\n",
    "        labels_list.extend(list(labels.cpu().data.numpy()))\n",
    "\n",
    "    tp = 0\n",
    "    tn = 0\n",
    "    fp = 0\n",
    "    fn = 0\n",
    "    #1 nclear   0 clear\n",
    "    for i in range(total):\n",
    "        if predict_list[i] == 1 and labels_list[i] == 1:\n",
    "            tn += 1\n",
    "        elif predict_list[i] == 1 and labels_list[i] == 0:\n",
    "            fn += 1\n",
    "        elif predict_list[i] == 0 and labels_list[i] == 1:\n",
    "            fp += 1\n",
    "        elif predict_list[i] == 0 and labels_list[i] == 0:\n",
    "            tp += 1\n",
    "\n",
    "    print('tp tn fp fn %d %d %d %d'%(tp,tn,fp,fn))\n",
    "    if fp+tp != 0:\n",
    "        print('fp/tp+fp falseRight of the network on the test images: %d %%' % (fp / float(fp+tp)))\n",
    "    if tp+fn != 0:\n",
    "        print('tp/tp+fn recall of the network on the test images: %d %%' % (tp / float(fn+tp)))\n",
    "    print('Accuracy of the network on the %d test images: %d %%' % (total,correct / float(total)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here we use gpu\n",
      "Epoch 0/1\n",
      "----------\n",
      "train Loss: 0.1227 Acc: 0.9664\n",
      "val Loss: 0.0350 Acc: 0.9856\n",
      "\n",
      "Epoch 1/1\n",
      "----------\n",
      "train Loss: 0.0499 Acc: 0.9835\n",
      "val Loss: 0.0398 Acc: 0.9836\n",
      "\n",
      "Training complete in 5m 24s\n",
      "Best val Acc: 0.985612\n",
      "tp tn fp fn 988 262 9 11\n",
      "fp/tp+fp falseRight of the network on the test images: 0 %\n",
      "tp/tp+fn recall of the network on the test images: 0 %\n",
      "Accuracy of the network on the 1270 test images: 0 %\n",
      "evaluate use:8.669188\n"
     ]
    }
   ],
   "source": [
    "data_transforms = {\n",
    "    'train': transforms.Compose([\n",
    "        transforms.CenterCrop(224),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
    "    ]),\n",
    "    'val': transforms.Compose([\n",
    "        transforms.CenterCrop(224),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
    "    ]),\n",
    "    'test': transforms.Compose([\n",
    "        transforms.CenterCrop(224),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
    "    ]),\n",
    "}\n",
    "\n",
    "data_dir = 'data/double_iris'\n",
    "image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),\n",
    "                                          data_transforms[x])\n",
    "                  for x in ['train', 'val','test']}\n",
    "dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=4,\n",
    "                                             shuffle=True, num_workers=4)\n",
    "              for x in ['train', 'val','test']}\n",
    "dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val','test']}\n",
    "class_names = image_datasets['train'].classes\n",
    "\n",
    "use_gpu = torch.cuda.is_available()\n",
    "\n",
    "model_ft = models.resnet18(pretrained=True)\n",
    "num_ftrs = model_ft.fc.in_features\n",
    "model_ft.fc = nn.Linear(num_ftrs, 2)\n",
    "\n",
    "if use_gpu:\n",
    "    print (\"here we use gpu\")\n",
    "    model_ft = model_ft.cuda()\n",
    "\n",
    "criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "# Observe that all parameters are being optimized\n",
    "optimizer_ft = optim.SGD(model_ft.parameters(), lr=0.001, momentum=0.9)\n",
    "\n",
    "# Decay LR by a factor of 0.1 every 7 epochs\n",
    "exp_lr_scheduler = lr_scheduler.StepLR(optimizer_ft, step_size=7, gamma=0.1)\n",
    "\n",
    "model_ft = train_model(model_ft, criterion, optimizer_ft, exp_lr_scheduler,\n",
    "                       num_epochs=2)\n",
    "\n",
    "start = time.time()\n",
    "evaluate(model_ft,dataloaders)\n",
    "print(\"evaluate use:%f\" % (time.time()-start))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed819bb9d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def imshow(inp, title=None):\n",
    "    \"\"\"Imshow for Tensor.\"\"\"\n",
    "    inp = inp.numpy().transpose((1, 2, 0))\n",
    "    mean = np.array([0.485, 0.456, 0.406])\n",
    "    std = np.array([0.229, 0.224, 0.225])\n",
    "    inp = std * inp + mean\n",
    "    inp = np.clip(inp, 0, 1)\n",
    "    plt.imshow(inp)\n",
    "    if title is not None:\n",
    "        plt.title(title)\n",
    "    plt.pause(0.001)  # pause a bit so that plots are updated\n",
    "\n",
    "\n",
    "# Get a batch of training data\n",
    "inputs, classes = next(iter(dataloaders['train']))\n",
    "\n",
    "# Make a grid from batch\n",
    "out = torchvision.utils.make_grid(inputs)\n",
    "\n",
    "imshow(out, title=[class_names[x] for x in classes])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def visualize_model(model, num_images=6):\n",
    "    was_training = model.training\n",
    "    model.eval()\n",
    "    images_so_far = 0\n",
    "    fig = plt.figure()\n",
    "\n",
    "    for i, data in enumerate(dataloaders['test']):\n",
    "        inputs, labels = data\n",
    "        if use_gpu:\n",
    "            inputs, labels = Variable(inputs.cuda()), Variable(labels.cuda())\n",
    "        else:\n",
    "            inputs, labels = Variable(inputs), Variable(labels)\n",
    "\n",
    "        outputs = model(inputs)\n",
    "        _, preds = torch.max(outputs.data, 1)\n",
    "\n",
    "        for j in range(inputs.size()[0]):\n",
    "            images_so_far += 1\n",
    "            ax = plt.subplot(num_images//2, 2, images_so_far)\n",
    "            ax.set_title('predicted: {}'.format(class_names[preds[j]]))\n",
    "            imshow(inputs.cpu().data[j])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed80dab710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed80ec54d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed80ed5090>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed7eb95a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed80db7610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed80de6390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "ename": "ValueError",
     "evalue": "num must be 1 <= num <= 6, not 7",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-20-1eaa96ed633c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mvisualize_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel_ft\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m6\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m<ipython-input-19-b8f5257c9c52>\u001b[0m in \u001b[0;36mvisualize_model\u001b[0;34m(model, num_images)\u001b[0m\n\u001b[1;32m     17\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     18\u001b[0m             \u001b[0mimages_so_far\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 19\u001b[0;31m             \u001b[0max\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_images\u001b[0m\u001b[0;34m//\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mimages_so_far\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     20\u001b[0m             \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_title\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'predicted: {}'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclass_names\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpreds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     21\u001b[0m             \u001b[0mimshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcpu\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/root/anaconda2/lib/python2.7/site-packages/matplotlib/pyplot.pyc\u001b[0m in \u001b[0;36msubplot\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m   1048\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1049\u001b[0m     \u001b[0mfig\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgcf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1050\u001b[0;31m     \u001b[0ma\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_subplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1051\u001b[0m     \u001b[0mbbox\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbbox\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1052\u001b[0m     \u001b[0mbyebye\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/root/anaconda2/lib/python2.7/site-packages/matplotlib/figure.pyc\u001b[0m in \u001b[0;36madd_subplot\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1072\u001b[0m                     \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_axstack\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mremove\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1073\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1074\u001b[0;31m             \u001b[0ma\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msubplot_class_factory\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprojection_class\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1075\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1076\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_axstack\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/root/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_subplots.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, fig, *args, **kwargs)\u001b[0m\n\u001b[1;32m     62\u001b[0m                     raise ValueError(\n\u001b[1;32m     63\u001b[0m                         \"num must be 1 <= num <= {maxn}, not {num}\".format(\n\u001b[0;32m---> 64\u001b[0;31m                             maxn=rows*cols, num=num))\n\u001b[0m\u001b[1;32m     65\u001b[0m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_subplotspec\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mGridSpec\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrows\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcols\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     66\u001b[0m                 \u001b[0;31m# num - 1 for converting from MATLAB to python indexing\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: num must be 1 <= num <= 6, not 7"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fed80e32250>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_model(model_ft,6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6.825984251968505"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "8.669 / 1270 * 1000\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
